/***
 * Copyright (c) 2009 Caelum - www.caelum.com.br/opensource
 * All rights reserved.
 *
 * Licensed under the Apache License, Version 2.0 (the "License"); 
 * you may not use this file except in compliance with the License. 
 * You may obtain a copy of the License at 
 * 
 * 	http://www.apache.org/licenses/LICENSE-2.0 
 * 
 * Unless required by applicable law or agreed to in writing, software 
 * distributed under the License is distributed on an "AS IS" BASIS, 
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
 * See the License for the specific language governing permissions and 
 * limitations under the License. 
 */

package br.com.caelum.vraptor.util;

import java.util.Enumeration;

/**
 * An enumeration which goes through two enumerations.
 * @author guilherme silveira
 *
 */
public class FallbackEnumeration implements Enumeration<String> {

	private final Enumeration<String> first;
	private final Enumeration<String> second;

	public FallbackEnumeration(Enumeration<String> first, Enumeration<String> second) {
		this.first = first;
		this.second = second;
	}

	public boolean hasMoreElements() {
		return first.hasMoreElements() || second.hasMoreElements();
	}

	public String nextElement() {
		if(first.hasMoreElements()) {
			return first.nextElement();
		}
		return second.nextElement();
	}

}
